/*
 * @Author: lp
 * @Date: 2022-04-22 17:04:27
 * @LastEditTime: 2022-04-23 16:14:34
 * @LastEditors: Please set LastEditors
 * @Description: 计算和生成自适应 css 代码的
 * @FilePath: \nien-vue3-admin\src\rem.js
 */
(function flexible(window, document) {
  const docEl = document.documentElement
  const dpr = window.devicePixelRatio || 1

  // adjust body font size
  function setBodyFontSize() {
    if (document.body) {
      document.body.style.fontSize = `${ 12 * dpr }px`
    } else {
      document.addEventListener('DOMContentLoaded', setBodyFontSize)
    }
  }
  setBodyFontSize()

  // set 1rem = viewWidth / 10
  function setRemUnit() {
    const rem = docEl.clientWidth / 10
    if (window.innerWidth > 1440) { 
      docEl.style.fontSize = '144px' 
    } else {
      docEl.style.fontSize = `${ rem }px`
    }
  }

  setRemUnit()

  // reset rem unit on page resize
  window.addEventListener('resize', setRemUnit)
  window.addEventListener('pageshow', (e) => {
    if (e.persisted) {
      setRemUnit()
    }
  })

  // detect 0.5px supports
  if (dpr >= 2) {
    const fakeBody = document.createElement('body')
    const testElement = document.createElement('div')
    testElement.style.border = '.5px solid transparent'
    fakeBody.appendChild(testElement)
    docEl.appendChild(fakeBody)
    if (testElement.offsetHeight === 1) {
      docEl.classList.add('hairlines')
    }
    docEl.removeChild(fakeBody)
  }
}(window, document))
export {}